// pages/order/index.js
/*
1 页面被打开的时候 onShow
  0 onShow不同于onLoad 无法在形参上接收 options参数
  0.5判断缓存中有没有token
    1没有直接跳转到授权页
    2有 直接往下进行
  1获取url上的参数 type
  2根据type 去发送请求获取订单数据
  3渲染页面
2 点击不同标题 重新发送请求来获取和渲染数据

*/
import regeneratorRuntime from '../../lib/runtime/runtime.js'
import {request} from '../../request/index'
Page({

  data: {
    orders:[],
    tabs: [
      { id: 0, value: "全部",isActive:true},
      { id: 1, value: "待付款",isActive:false},
      { id: 2, value: "待发货",isActive:false},
      { id: 3, value: "退款/退货",isActive:false}
    ]
  },
  onShow(options){
    const token=wx.getStorageSync("token");
    // if(!token){
    //   wx.navigateTo({
    //     url:'/pages/auth/index'
    //   });
    //   return;
    // }
    //获取当前小程序的页面盏-数组 长度最大是10页面
    let pages=getCurrentPages();
    //数组中 索引最大的页面就是当前页
    let currentPage=pages[pages.length-1];
    // console.log(currentPage.options);
    //获取url上的参数
    const {type}=currentPage.options;
    //激活选中页面标题 当type=1  index=0
    this.changeTitleByIndex(type-1);
    this.getOrders(type);
  },
  //获取订单列表的方法
  async getOrders(type){
    let token = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjIzLCJpYXQiOjE1NjQ3MzAwNzksImV4cCI6MTAwMTU2NDczMDA3OH0.YPt-XeLnjV-_1ITaXGY2FhxmCe4NvXuRnRB8OMCfnPo"
    const res= await request({url:"/my/orders/all",header: { Authorization: token }, data:{type}});
    // console.log(res)
    this.setData({
      orders:res.orders.map(v=>({...v,create_time_cn:(new Date(v.create_time*1000).toLocaleString())}))
    })
  },
  //根据标题索引来激活选中 标题数组
  changeTitleByIndex(index){
    //修改原数组
	  let {tabs} = this.data;
	  tabs.forEach((v,i)=>i===index?v.isActive=true:v.isActive=false);
	  this.setData({
	    tabs
	  }) 
  },
  handleTabsItemChange(e){
	  //获取被点击的标题索引
	  const {index} = e.detail;
	  this.changeTitleByIndex(index);
    //重新发送请求 type=1  index=0
    this.getOrders(index+1)
  }
})